package com.bdqn.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bdqn.base.mybatis.IService;
import com.bdqn.pojo.User;

/**
 * @description 针对表【sys_user】的数据库操作Service
 */
public interface UserService extends IService<User> {

    /**
     * 根据用户名称和角色ID分页查询用户，关联查询用户对应的角色（延迟加载，使用的是MyBatis的一对一注解@One实现）
     *
     * @param usrName
     * @param roleId
     * @param page
     * @return
     */
    IPage<User> pageByUsrNameAndRoleId(String usrName, Long roleId, Page page);

    /**
     * 通过用户特征查找用户
     *
     * @param user
     * @return
     */
    User getUser(User user);

    /**
     * 用户登录
     *
     * @param usrName
     * @param usrPassword
     * @return
     */
    User login(String usrName, String usrPassword);

}
